package com.ant.http

import com.ant.http.Bean.ErrBean
import com.ant.http.Bean.HttpResult

/**
 * copyright：
 * @author：anthui creation date： .
 * @since: 1.0.0
 * @describe:
 */

fun <T> HttpResult<T>.await(
    response: ((response: T?) -> Unit)? = null
    , onFailure: ((errBean: ErrBean) -> Unit)? = null
): T? {
    try {

        if (200 == code) {
            //是否为空 由外部判断，防止后端 返回一些 code200时，返回 null回来
            response?.invoke(data)
            return data
        } else {
            onFailure?.invoke(ErrBean(code, message ?: "后端没有错误信息返回", null))
        }
    } catch (e: Exception) {
        onFailure?.invoke(ErrBean(code, message ?: "后端没有错误信息返回", e))

    }
    return null


}